02. 迷你项目:时间差分方法 (OpenAI Gym-CliffWalkingEnv)

OpenAI Gym:CliffWalkingEnv

在这节课,你将为我们讨论的算法编写自己的 Python 实现。虽然你的算法将需要适合任何 OpenAI Gym 环境,但是你将使用 CliffWalking 环境测试你的代码。

‘来源:维基百科'

‘来源:维基百科'

在 CliffWalking 环境中,智能体会浏览一个 4x12 网格世界。请在该教科书的示例 6.6 中详细了解悬崖行走任务。阅读完毕后,你可以打开相应的 GitHub 文件并阅读 CliffWalkingEnv 类中的注释部分,详细了解该环境。为了进行说明,我们还在下方贴出了该环境的说明(注意下面指向 Sutton 和 Barto 教科书的链接也许不能打开,建议你使用此链接来访问该教科书):

    """
    这是 Gridworld Cliff 强化学习任务的简单实现。
    改编自《强化学习:简介》(作者:Sutton 和 Barto)的示例 6.6(第 145 页)
    http://people.inf.elte.hu/lorincz/Files/RL_2006/SuttonBook.pdf

    灵感来自:
    https://github.com/dennybritz/reinforcement-learning/blob/master/lib/envs/cliff_walking.py
    该板是一个 4x12 的矩阵(使用 Numpy 矩阵索引):
        左下角的 [3, 0] 是起点
        右下角的 [3, 11] 是目标
        底部中心的 [3, 1..10] 是悬崖
    每个时间步都会获得 -1 奖励,跌入悬崖会获得 -100 奖励并重置为起点。当智能体抵达目标时阶段结束。
    """